1. Field of the Invention
This invention relates generally to the field of image capture and image processing. More particularly, the invention relates to an apparatus and method for capturing still images and video using coded aperture techniques.
2. Description of the Related Art
Photographic imaging is commonly done by focusing the light coming from a scene using a glass lens which is placed in front of a light sensitive detector such as a photographic film or a semiconductor sensor including CCD and CMOS sensors.
For imaging high-energy radiation such as x-ray or gamma rays, other techniques must be used because such radiation cannot be diffracted using glass lenses. A number of techniques have been proposed including single pinhole cameras and multi-hole collimator systems. A particularly beneficial technique is “coded aperture imaging” wherein a structured aperture, consisting of a suitably-chosen pattern of transparent and opaque elements, is placed in front of a detector sensitive to the radiation to be imaged. When the aperture pattern is suitably chosen, the imaged scene can be digitally reconstructed from the detector signal. Coded aperture imaging has the advantage of combining high spatial resolution with high light efficiency. Coded aperture imaging of x-ray and gamma ray radiation using structured arrays of rectangular or hexagonal elements is known from R. H. DICKE: SCATTER-HOLE CAMERA FOR X-RAYS AND GAMMA RAYS. ASTROHYS. J., 153:L101-L106, 1968 (hereinafter “Dicke”), and has been extensively applied in astronomical imaging and nuclear medicine.
A particularly useful class of coded imaging systems is known from E. E. FENIMORE AND T. M. CANNON: CODED APERTURE IMAGING WITH UNIFORMLY REDUNDANT ARRAYS. APPL. OPT., 17:337-347, 1978 (hereinafter “Fenimore”). In this class of systems, a basic aperture pattern is cyclically repeated such that the aperture pattern is a 2×2 mosaic of the basic pattern. The detector has at least the same size as the basic aperture pattern. In such a system, the “fully coded field-of-view” is defined as the area within the field-of-view, within which a point source would cast a complete shadow of a cyclically shifted version of the basic aperture pattern onto the aperture. Likewise, the “partially coded field-of-view” is defined as the area within the field-of-view, within which a point source would only cast a partial shadow of the basic aperture pattern onto the aperture. According to Dicke, a collimator is placed in front of the detector which limits the field-of-view to the fully coded field-of-view, thus allowing an unambiguous reconstruction of the scene from the detector signal.
From J. GUNSON AND B. POLYCHRONOPULOS: OPTIMUM DESIGN OF A CODED MASK X-RAY TELESCOPE FOR ROCKET APPLICATIONS. MON. NOT. R. ASTRON. SOC., 177:485-497, 1976 (hereinafter “Gunson”) it is further known to give the opaque elements of the aperture a finite thickness such that the aperture itself acts as a collimator and limits the field-of-view to the fully coded field-of-view. Such a “self-collimating aperture” allows the omission of a separate collimator in front of the detector.
It should be noted that besides limiting the field-of-view, a collimator has the undesired property of only transmitting light without attenuation which is exactly parallel to the optical axis. Any off-axis light passing through the collimator is attenuated, the attenuation increasing towards the limits of the field-of-view. At the limits of the field-of-view, the attenuation is 100%, i.e., no light can pass through the collimator at such angles. This effect will be denoted as “collimator attenuation” within this document. Both in the x-direction and in the y-direction, collimator attenuation is proportional to the tangent of the angle between the light and the optical axis.
In addition, there is also a “photometric attenuation” of light being imaged at off-axis angles. This results from the fact that the surface normal of the light-emitting or light-scattering object and the surface normal of the light-sensitive sensor is at an angle towards each other. The light reaching the sensor is known to be proportional to the square of the cosine of the angle between the two surface normals.
After reconstructing an image from a sensor signal in a coded aperture imaging system, the effects of collimator attenuation and photometric attenuation may have to be reversed in order to obtain a photometrically correct image. This involves multiplying each individual pixel value with the inverse of the factor by which light coming from the direction which the pixel pertains to, has been attenuated. It should be noted that close to the limits of the field-of-view, the attenuation, especially the collimator attenuation, is very high, i.e. this factor approaches zero. Inverting the collimator and photometric attenuation in this case involves amplifying the pixel values with a very large factor, approaching infinity at the limits of the field-of-view. Since any noise in the reconstruction will also be amplified by this factor, pixels close to the limits of the field-of-view may be very noisy or even unusable.
In a coded aperture system according to Fenimore or Gunson, the basic aperture pattern can be characterized by means of an “aperture array” of zeros and ones wherein a one stands for a transparent and a zero stands for an opaque aperture element. Further, the scene within the field-of-view can be characterized as a two-dimensional array wherein each array element contains the light intensity emitted from a single pixel within the field-of-view. When the scene is at infinite distance from the aperture, it is known that the sensor signal can be characterized as the two-dimensional, periodic cross-correlation function between the field-of-view array and the aperture array. It should be noted that the sensor signal as such has no resemblance with the scene being imaged. However, a “reconstruction filter” can be designed by computing the two-dimensional periodic inverse filter pertaining to the aperture array. The two-dimensional periodic inverse filter is a two-dimensional array which is constructed in such a way that all sidelobes of the two-dimensional, periodic cross-correlation function of the aperture array and the inverse filter are zero. By computing the two-dimensional, periodic cross-correlation function of the sensor signal and the reconstruction filter, an image of the original scene can be reconstructed from the sensor signal.
It is known from Fenimore to use a so-called “Uniformly Redundant Arrays” (URAs) as aperture arrays. URAs have a two-dimensional, periodic cross-correlation function whose sidelobe values are all identical. URAs have an inverse filter which has the same structure as the URA itself, except for a constant offset and constant scaling factor. Such reconstruction filters are optimal in the sense that any noise in the sensor signal will be subject to the lowest possible amplification during the reconstruction filtering. However, URAs can be algebraically constructed only for very few sizes.
It is further known from S. R. GOTTESMAN AND E. E. FENIMORE: NEW FAMILY OF BINARY ARRAYS FOR CODED APERTURE IMAGING. APPL. OPT., 28:4344-4352, 1989 (hereinafter “Gottesman”) to use a modified class of aperture arrays called “Modified Uniformly Redundant Arrays” (MURAs) which exist for all sizes p×p where p is an odd prime number. Hence, MURAs exist for many more sizes than URAs. Their correlation properties and noise amplification properties are near-optimal and almost as good as the properties of URAs. MURAs have the additional advantage that, with the exception of a single row and a single column, they can be represented as the product of two one-dimensional sequences, one being a function only of the column index and the other being a function only of the row index to the array. Likewise, with the exception of a single row and a single column, their inverse filter can also be represented as the product of two one-dimensional sequences. This property permits to replace the two-dimensional in-verse filtering by a sequence of two one-dimensional filtering operations, making the reconstruction process much more efficient to compute.
If the scene is at a finite distance from the aperture, a geometric magnification of the sensor image occurs. It should be noted that a point source in the scene would cast a shadow of the aperture pattern onto the sensor which is magnified by a factor of f=(o+a)/o compared to the actual aperture size where o is the distance between the scene and the aperture and a is the distance between the aperture and the sensor. Therefore, if the scene is at a finite distance, the sensor image needs to be filtered with an accordingly magnified version of the reconstruction filter.
If the scene is very close to the aperture, so-called near-field effects occur. The “near field” is defined as those ranges which are less than 10 times the sensor size, aperture size or distance between aperture and sensor, whichever of these quantities is the largest. If an object is in the near field, the sensor image can no longer be described as the two-dimensional cross-correlation between the scene and the aperture array. This causes artifacts when attempting to reconstructing the scene using inverse filtering. In Lanza, et al., U.S. Pat. No. 6,737,652, methods for reducing such near-field artifacts are disclosed. These methods involve imaging the scene using two separate coded apertures where the second aperture array is the inverse of the first aperture array (i.e. transparent elements are replaced by opaque elements and vice versa). The reconstruction is then computed from two sensor signals acquired with the two different apertures in such a manner that near-field artifacts are reduced in the process of combining the two sensor images.
Coded aperture imaging to date has been limited to industrial, medical, and scientific applications, primarily with x-ray or gamma-ray radiation, and systems that have been developed to date are each designed to work within a specific, constrained environment. For one, existing coded aperture imaging systems are each designed with a specific view depth (e.g. effectively at infinity for astronomy, or a specific distance range for nuclear or x-ray imaging). Secondly, to date, coded aperture imaging has been used with either controlled radiation sources (e.g. in nuclear, x-ray, or industrial imaging), or astronomical radiation sources that are relatively stable and effectively at infinity. As a result, existing coded aperture systems have had the benefit of operating within constrained environments, quite unlike, for example, a typical photographic camera using a lens. A typical photographic camera using a lens is designed to simultaneously handle imaging of scenes containing 3-dimensional objects with varying distances from close distances to effective infinite distance; and is designed to image objects reflecting, diffusing, absorbing, refracting, or retro-reflecting multiple ambient radiation sources of unknown origin, angle, and vastly varying intensities. No coded aperture system has ever been designed that can handle these types of unconstrained imaging environments that billions of photographic cameras with lenses handle everyday.
Photographic imaging in the optical spectrum using lenses has a number of disadvantages and limitations. The main limitation of lens photography is its finite depth of field-of-view. Only scenes at a single depth can be in focus in a lens image while any objects closer or farther away from the camera than the in-focus depth will appear blurred in the image.
Further, a lens camera must be manually or automatically focused before an image can be taken. This is a disadvantage when imaging objects which are moving fast or unexpectedly such as in sports photography or photography of children or animals. In such situations, the images may be out of focus because there was not enough time to focus or because the object moved unexpectedly when acquiring the image. Lens photography does not allow a photographer to retrospectively change the focus once an image has been acquired.
Still further, focusing a lens camera involves adjusting the distance between one or more lenses and the sensor. This makes it necessary for a lens camera to contain mechanically moving parts which makes it prone to mechanical failure. Various alternatives to glass lenses, such as liquid lenses (see, e.g., B. HENDRIKS & STEIN KUIPER: THROUGH A LENS SHARPLY. IEEE SPECTRUM, DECEMBER, 2004), have been proposed in an effort to mitigate the mechanical limitations of a glass lens, but despite the added design complexity and potential limitations (e.g., operating temperature range and aperture size) of such alternatives, they still suffer from the limitation of a limited focus range.
Moreover, for some applications the thickness of glass lenses causes a lens camera to be undesirably thick and heavy. This is particularly true for zoom lenses and for telephoto lenses such as those used in nature photography or sports photography. Additionally, since high-quality lenses are made of glass, they are fragile and prone to scratches.
Still further, lens cameras have a limited dynamic range as a result of their sensors (film or semiconductor sensors) having a limited dynamic range. This is a severe limitation when imaging scenes which contain both very bright areas and very dark areas. Typically, either the bright areas will appear overexposed while the dark areas have sufficient contrast, or the dark areas will appear underexposed while the bright areas have sufficient contrast. To address this issue, specialized semiconductor image sensors (e.g. the D1000 by Pixim, Inc. of Mountain View, Calif.) have been developed that allow each pixel of an image sensor to sampled each with a unique gain so as to accommodate different brightness regions in the image. But such image sensors are much more expensive than conventional CCD or CMOS image sensors, and as such are not cost-competitive for many applications, including mass-market general photography.
Because of the requirement to focus, lenses can provide a rough estimate of the distance between the lens and a subject object. But since most photographic applications require lenses designed to have as long a range of concurrent focus as possible, using focus for a distance estimate is extremely imprecise. Since a lens can only be focused to a single distance range at a time, at best, a lens will provide an estimate of the distance to a single object range at a given time.